/**
 * 把id和pid组合成树
 * @param {array} [arr] 需要组合的数组
 */
export const idPidToTree = (arr: any, id?: string, pid?: string) => {
  const _pid: string = pid || 'pid';
  // 使用reduce给数组定义一个方法
  const formatObj = arr.reduce((pre, cur) => {
    return { ...pre, [cur['id']]: cur };
  }, {});
  // 构造新的数据
  const formatArray = arr.reduce((arr, cur) => {
    const _childPid = cur[_pid] ? cur[_pid] : 0;
    const parent = formatObj[_childPid];
    if (parent) {
      parent.children ? parent.children.push(cur) : (parent.children = [cur]);
    } else {
      arr.push(cur);
    }
    return arr;
  }, []);
  return formatArray;
};

/**
 * 把数组全部转换成字符串数组
 * @param arr 需要转换成字符串数组的数组
 */
export const ArrayToString = (arr: any[]) => {
  let _arr = [];
  if (arr.length) {
    _arr = arr.map((item) => {
      return item.toString();
    });
  }
  return _arr;
};
